<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>p2_CSS选择器</title>
    <style>
        /* 1.标签名选择器：全选此类标签 */
        h4{
            color: red;
        }
        /* 2.id选择器：选中制定id值的唯一一个元素 */
        #d1{
            width: 100px;
            height: 100px;
            background-color: cyan;
        }
        /* 3.类选择器：选中使用此类名的所有元素 */
        .error{
            background-color: red;
            color: white;
        }
        .success{
            background-color: green;
            color: white;
        }
        .msg{
            color: white;
        }
        /* 并列选择器：紧挨在一起的写法，必须同时满足两个选择器的条件才可生效，是“与”的关系 */
        /* :hover伪类选择器的一种，用来选中元素的悬停状态 */
        #d1:hover{
            background-color: pink;
        }
        /* 伪类选择器 :link未被访问过 :visited已被访问过 :hover悬停 :active激活
            只有:hover悬停不是超链接独有的伪类 */
        a:link{
            color: gray;
        }
        a:visited{
            color: green;
        }
        a:hover{
            color: orange;
        }
        a:active{
            color: red;
        }
        /* 7.群组选择器：将多个选择器用逗号隔开，只要有一个满足条件就生效，是“或”的关系 */
        #d1,p,.error{
            border: 5px solid purple; /* 边框：粗细 单实线 颜色 */
        }
        /* 8.通配选择器：全选所有元素 */
        *{
            font-style: italic; /* 文字样式：倾斜 */
        }
        /* 9.属性选择器：选中符合属性条件的元素 */
        input[type="text"]{
            background-color: yellow;
        }
        /* 10.后代选择器（空格）：选中包含在祖先选择器之内的所有后代（孙子、重孙子...） */
        #d2 span{
            background-color: lightblue;
        }
        /* 11.直接子代选择器（大于号）：选中当前元素的直接子元素，不会继续向下选择，可以多层递进写 */
        #d2>div>p>span{
            color: green;
        }
    </style>
</head>
<body>
    <div id="d1">我是Div</div>
    <div>我是div</div>
    <p>我是段落</p>
    <h4>我是标题</h4>
    <h4>我是标题2</h4>
    <hr>
    <span class="error msg">用户名不能为空！</span>
    <span class="error msg">密码不能为空！</span>
    <span class="success msg">手机号格式正确！</span>
    <span class="success msg">邮箱格式正确！</span>
    <hr>
    <a href="https://www.baidu.com/">超链接1</a>
    <a href="abc">超链接2</a>
    <hr>
    <input type="text">
    <input type="password">
    <hr>
    <div id="d2">
        <span>111</span>
        <div>
            <span>222</span>
            <p>测试文字</p>
            <p>我是<span>测试</span>段落</p>
        </div>
        <span>333</span>
    </div>
</body>
</html>